[INFO] fetching crate rmux-sdk 0.6.1...
[INFO] fixing rmux-sdk-0.6.1 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate rmux-sdk 0.6.1 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate rmux-sdk 0.6.1
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate rmux-sdk 0.6.1
[INFO] tweaked toml for crates.io crate rmux-sdk 0.6.1 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate rmux-sdk 0.6.1 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate rmux-sdk 0.6.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] f69687394c504a2f68d73fbe510f251fd78b75afbd868d6370558f94be835c27
[INFO] running `Command { std: "docker" "start" "f69687394c504a2f68d73fbe510f251fd78b75afbd868d6370558f94be835c27", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f69687394c504a2f68d73fbe510f251fd78b75afbd868d6370558f94be835c27" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f69687394c504a2f68d73fbe510f251fd78b75afbd868d6370558f94be835c27", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f69687394c504a2f68d73fbe510f251fd78b75afbd868d6370558f94be835c27" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]     Checking mio v1.2.1
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]     Checking rmux-types v0.6.1
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking rmux-proto v0.6.1
[INFO] [stderr]     Checking rmux-os v0.6.1
[INFO] [stderr]     Checking crossterm v0.29.0
[INFO] [stderr]     Checking rmux-ipc v0.6.1
[INFO] [stderr]     Checking rmux-sdk v0.6.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/bootstrap/startup_unix/tests.rs (6 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/actions.rs:177:43
[INFO] [stdout]     |
[INFO] [stdout] 165 |         let pane = self.pane().clone();
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `pane` calls a custom destructor
[INFO] [stdout]     |             `pane` will be dropped later as of Edition 2024
[INFO] [stdout] 166 |         let (_snapshot, _item) = self.resolve_strict_with_wait().await?;
[INFO] [stdout] 167 |         let keyboard = pane.keyboard();
[INFO] [stdout]     |             --------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `keyboard` calls a custom destructor
[INFO] [stdout]     |             `keyboard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 177 |         keyboard.type_text(text.as_ref()).await
[INFO] [stdout]     |                                           ^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 178 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `keyboard` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/broadcast.rs:273:30
[INFO] [stdout]     |
[INFO] [stdout] 273 |     while let Some(joined) = tasks.join_next().await {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                              |                 |
[INFO] [stdout]     |                              |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                              |                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                              |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              `__awaitee` calls a custom destructor
[INFO] [stdout]     |                              `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 281 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/handles/rmux.rs:250:60
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let client = self
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `client` calls a custom destructor
[INFO] [stdout]     |             `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 250 |         super::session::has_session(&client, session_name).await
[INFO] [stdout]     |                                                            ^^^^^
[INFO] [stdout]     |                                                            |
[INFO] [stdout]     |                                                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 251 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/handles/rmux.rs:258:53
[INFO] [stdout]     |
[INFO] [stdout] 255 |         let client = self
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `client` calls a custom destructor
[INFO] [stdout]     |             `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 258 |         super::session::list_session_names(&client).await
[INFO] [stdout]     |                                                     ^^^^^
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 259 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/handles/rmux.rs:267:14
[INFO] [stdout]     |
[INFO] [stdout] 263 |         let client = self
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `client` calls a custom destructor
[INFO] [stdout]     |             `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 267 |             .await?
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 270 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/layout.rs:306:28
[INFO] [stdout]     |
[INFO] [stdout] 306 |     while let Some(pane) = panes.pop() {
[INFO] [stdout]     |                            ^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 307 |         let _ = pane.close().await;
[INFO] [stdout]     |                 ------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `__awaitee` calls a custom destructor
[INFO] [stdout]     |                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 308 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/layout.rs:384:33
[INFO] [stdout]     |
[INFO] [stdout] 383 |     let pane = split.await?;
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pane` calls a custom destructor
[INFO] [stdout]     |         `pane` will be dropped later as of Edition 2024
[INFO] [stdout] 384 |     stable_pane(session, &pane).await
[INFO] [stdout]     |                                 ^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 385 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/pane_set.rs:421:34
[INFO] [stdout]     |
[INFO] [stdout] 421 |         while let Some(joined) = tasks.join_next().await {
[INFO] [stdout]     |                        ------    ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                        |         |                 |
[INFO] [stdout]     |                        |         |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        |         |                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        |         |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |         |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        |         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                        |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        `joined` calls a custom destructor
[INFO] [stdout]     |                        `joined` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 439 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `joined` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/pane_set.rs:554:30
[INFO] [stdout]     |
[INFO] [stdout] 554 |     while let Some(joined) = tasks.join_next().await {
[INFO] [stdout]     |                    ------    ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                    |         |                 |
[INFO] [stdout]     |                    |         |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                    |         |                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |         |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |         |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                    |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    `joined` calls a custom destructor
[INFO] [stdout]     |                    `joined` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 557 |             Err(error) => outcomes.push((
[INFO] [stdout]     |                 -----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `error` calls a custom destructor
[INFO] [stdout]     |                 `error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 571 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `joined` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `error` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/web_share/handle.rs:246:37
[INFO] [stdout]     |
[INFO] [stdout] 243 |         let transport = self
[INFO] [stdout]     |             ---------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `transport` calls a custom destructor
[INFO] [stdout]     |             `transport` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 246 |         list_web_shares(&transport).await
[INFO] [stdout]     |                                     ^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 247 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `transport` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/web_share/handle.rs:254:40
[INFO] [stdout]     |
[INFO] [stdout] 251 |         let transport = self
[INFO] [stdout]     |             ---------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `transport` calls a custom destructor
[INFO] [stdout]     |             `transport` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 254 |         stop_web_share(&transport, id).await
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 255 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `transport` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/web_share/handle.rs:262:41
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let transport = self
[INFO] [stdout]     |             ---------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `transport` calls a custom destructor
[INFO] [stdout]     |             `transport` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 262 |         stop_all_web_shares(&transport).await
[INFO] [stdout]     |                                         ^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 263 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `transport` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/web_share/handle.rs:279:32
[INFO] [stdout]     |
[INFO] [stdout] 276 |         let transport = self
[INFO] [stdout]     |             ---------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `transport` calls a custom destructor
[INFO] [stdout]     |             `transport` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 279 |         web_config(&transport).await
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 280 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `transport` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/transport/mod.rs:406:31
[INFO] [stdout]     |
[INFO] [stdout] 406 |     while let Some(message) = commands.recv().await {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                               |               |
[INFO] [stdout]     |                               |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                               |               up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                               up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 407 |         if events.send(ActorEvent::Command(message)).await.is_err() {
[INFO] [stdout]     |            -----------------------------------------------
[INFO] [stdout]     |            |                                         |
[INFO] [stdout]     |            |                                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |            |                                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |            `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |            `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 410 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/transport/mod.rs:238:29
[INFO] [stdout]     |
[INFO] [stdout] 236 |     let mut shutdown_reply = None;
[INFO] [stdout]     |         ------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `shutdown_reply` calls a custom destructor
[INFO] [stdout]     |         `shutdown_reply` will be dropped later as of Edition 2024
[INFO] [stdout] 237 |
[INFO] [stdout] 238 |     while let Some(event) = event_receiver.recv().await {
[INFO] [stdout]     |                    -----    ^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                    |        |                     |
[INFO] [stdout]     |                    |        |                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                    |        |                     up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |        |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |        |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    |        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                    |        up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                    |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    `event` calls a custom destructor
[INFO] [stdout]     |                    `event` will be dropped later as of Edition 2024
[INFO] [stdout] 239 |         match event {
[INFO] [stdout] 240 |             ActorEvent::Command(message) => {
[INFO] [stdout]     |                                 -------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `message` calls a custom destructor
[INFO] [stdout]     |                                 `message` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 261 |                         if let Err(failure) = write_frame(&mut writer, &frame).await {
[INFO] [stdout]     |                                               --------------------------------------
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 270 |                         armed,
[INFO] [stdout]     |                         -----
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `armed` calls a custom destructor
[INFO] [stdout]     |                         `armed` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 286 |                         if let Err(failure) = write_frame(&mut writer, &frame).await {
[INFO] [stdout]     |                                               --------------------------------------
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 302 |                         if let Err(failure) = write_frame(&mut writer, &frame).await {
[INFO] [stdout]     |                                               --------------------------------------
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                               `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 307 |                     ActorMessage::Shutdown { reply } => {
[INFO] [stdout]     |                                              -----
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `reply` calls a custom destructor
[INFO] [stdout]     |                                              `reply` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 327 |                     let Some(pending_call) = pending.pop_front() else {
[INFO] [stdout]     |                                              -------------------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                              `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 358 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `shutdown_reply` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `message` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `message` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `message` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `armed` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `reply` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/handles/rmux/tests.rs:252:10
[INFO] [stdout]     |
[INFO] [stdout] 234 |     let (client_stream, mut server_stream) = tokio::io::duplex(4096);
[INFO] [stdout]     |                         -----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `server_stream` calls a custom destructor
[INFO] [stdout]     |                         `server_stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 252 |         .await
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 261 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `server_stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/util/mem.rs:175:1
[INFO] [stdout]     |
[INFO] [stdout] 175 | impl Drop for DuplexStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/handles/rmux/tests.rs:342:10
[INFO] [stdout]     |
[INFO] [stdout] 322 |     let (client_stream, mut server_stream) = tokio::io::duplex(4096);
[INFO] [stdout]     |                         -----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `server_stream` calls a custom destructor
[INFO] [stdout]     |                         `server_stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 342 |         .await
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 351 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `server_stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/util/mem.rs:175:1
[INFO] [stdout]     |
[INFO] [stdout] 175 | impl Drop for DuplexStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/handles/rmux/tests.rs:372:10
[INFO] [stdout]     |
[INFO] [stdout] 355 |     let (client_stream, mut server_stream) = tokio::io::duplex(4096);
[INFO] [stdout]     |                         -----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `server_stream` calls a custom destructor
[INFO] [stdout]     |                         `server_stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 372 |         .await
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 381 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `server_stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/util/mem.rs:175:1
[INFO] [stdout]     |
[INFO] [stdout] 175 | impl Drop for DuplexStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/transport/tests.rs:265:33
[INFO] [stdout]     |
[INFO] [stdout] 255 |     let (client_stream, mut server_stream) = tokio::io::duplex(4096);
[INFO] [stdout]     |                         -----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `server_stream` calls a custom destructor
[INFO] [stdout]     |                         `server_stream` will be dropped later as of Edition 2024
[INFO] [stdout] 256 |     let client = TransportClient::spawn(client_stream);
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `client` calls a custom destructor
[INFO] [stdout]     |         `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 265 |     match join_request(request).await.expect_err("request must fail") {
[INFO] [stdout]     |                                 ^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 274 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `server_stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/util/mem.rs:175:1
[INFO] [stdout]     |
[INFO] [stdout] 175 | impl Drop for DuplexStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/transport/tests.rs:285:33
[INFO] [stdout]     |
[INFO] [stdout] 278 |     let (client_stream, mut server_stream) = tokio::io::duplex(4096);
[INFO] [stdout]     |                         -----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `server_stream` calls a custom destructor
[INFO] [stdout]     |                         `server_stream` will be dropped later as of Edition 2024
[INFO] [stdout] 279 |     let client = TransportClient::spawn(client_stream);
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `client` calls a custom destructor
[INFO] [stdout]     |         `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 285 |     match join_request(request).await.expect_err("request must fail") {
[INFO] [stdout]     |                                 ^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 292 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `server_stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/util/mem.rs:175:1
[INFO] [stdout]     |
[INFO] [stdout] 175 | impl Drop for DuplexStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/transport/tests.rs:303:33
[INFO] [stdout]     |
[INFO] [stdout] 296 |     let (client_stream, mut server_stream) = tokio::io::duplex(4096);
[INFO] [stdout]     |                         -----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `server_stream` calls a custom destructor
[INFO] [stdout]     |                         `server_stream` will be dropped later as of Edition 2024
[INFO] [stdout] 297 |     let client = TransportClient::spawn(client_stream);
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `client` calls a custom destructor
[INFO] [stdout]     |         `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 303 |     match join_request(request).await.expect_err("request must fail") {
[INFO] [stdout]     |                                 ^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 309 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `server_stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/util/mem.rs:175:1
[INFO] [stdout]     |
[INFO] [stdout] 175 | impl Drop for DuplexStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/actions.rs:177:43
[INFO] [stdout]     |
[INFO] [stdout] 165 |         let pane = self.pane().clone();
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `pane` calls a custom destructor
[INFO] [stdout]     |             `pane` will be dropped later as of Edition 2024
[INFO] [stdout] 166 |         let (_snapshot, _item) = self.resolve_strict_with_wait().await?;
[INFO] [stdout] 167 |         let keyboard = pane.keyboard();
[INFO] [stdout]     |             --------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `keyboard` calls a custom destructor
[INFO] [stdout]     |             `keyboard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 177 |         keyboard.type_text(text.as_ref()).await
[INFO] [stdout]     |                                           ^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 178 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `keyboard` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/broadcast.rs:273:30
[INFO] [stdout]     |
[INFO] [stdout] 273 |     while let Some(joined) = tasks.join_next().await {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                              |                 |
[INFO] [stdout]     |                              |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                              |                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                              |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              `__awaitee` calls a custom destructor
[INFO] [stdout]     |                              `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 281 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/handles/rmux.rs:250:60
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let client = self
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `client` calls a custom destructor
[INFO] [stdout]     |             `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 250 |         super::session::has_session(&client, session_name).await
[INFO] [stdout]     |                                                            ^^^^^
[INFO] [stdout]     |                                                            |
[INFO] [stdout]     |                                                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 251 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/handles/rmux.rs:258:53
[INFO] [stdout]     |
[INFO] [stdout] 255 |         let client = self
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `client` calls a custom destructor
[INFO] [stdout]     |             `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 258 |         super::session::list_session_names(&client).await
[INFO] [stdout]     |                                                     ^^^^^
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 259 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/handles/rmux.rs:267:14
[INFO] [stdout]     |
[INFO] [stdout] 263 |         let client = self
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `client` calls a custom destructor
[INFO] [stdout]     |             `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 267 |             .await?
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 270 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/layout.rs:306:28
[INFO] [stdout]     |
[INFO] [stdout] 306 |     while let Some(pane) = panes.pop() {
[INFO] [stdout]     |                            ^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 307 |         let _ = pane.close().await;
[INFO] [stdout]     |                 ------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `__awaitee` calls a custom destructor
[INFO] [stdout]     |                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 308 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/layout.rs:384:33
[INFO] [stdout]     |
[INFO] [stdout] 383 |     let pane = split.await?;
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pane` calls a custom destructor
[INFO] [stdout]     |         `pane` will be dropped later as of Edition 2024
[INFO] [stdout] 384 |     stable_pane(session, &pane).await
[INFO] [stdout]     |                                 ^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 385 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/pane_set.rs:421:34
[INFO] [stdout]     |
[INFO] [stdout] 421 |         while let Some(joined) = tasks.join_next().await {
[INFO] [stdout]     |                        ------    ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                        |         |                 |
[INFO] [stdout]     |                        |         |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        |         |                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        |         |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |         |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        |         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                        |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        `joined` calls a custom destructor
[INFO] [stdout]     |                        `joined` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 439 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `joined` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/pane_set.rs:554:30
[INFO] [stdout]     |
[INFO] [stdout] 554 |     while let Some(joined) = tasks.join_next().await {
[INFO] [stdout]     |                    ------    ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                    |         |                 |
[INFO] [stdout]     |                    |         |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                    |         |                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |         |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |         |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                    |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    `joined` calls a custom destructor
[INFO] [stdout]     |                    `joined` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 557 |             Err(error) => outcomes.push((
[INFO] [stdout]     |                 -----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `error` calls a custom destructor
[INFO] [stdout]     |                 `error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 571 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `joined` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `error` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/web_share/handle.rs:246:37
[INFO] [stdout]     |
[INFO] [stdout] 243 |         let transport = self
[INFO] [stdout]     |             ---------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `transport` calls a custom destructor
[INFO] [stdout]     |             `transport` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 246 |         list_web_shares(&transport).await
[INFO] [stdout]     |                                     ^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 247 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `transport` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/web_share/handle.rs:254:40
[INFO] [stdout]     |
[INFO] [stdout] 251 |         let transport = self
[INFO] [stdout]     |             ---------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `transport` calls a custom destructor
[INFO] [stdout]     |             `transport` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 254 |         stop_web_share(&transport, id).await
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 255 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `transport` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/web_share/handle.rs:262:41
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let transport = self
[INFO] [stdout]     |             ---------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `transport` calls a custom destructor
[INFO] [stdout]     |             `transport` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 262 |         stop_all_web_shares(&transport).await
[INFO] [stdout]     |                                         ^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 263 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `transport` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/web_share/handle.rs:279:32
[INFO] [stdout]     |
[INFO] [stdout] 276 |         let transport = self
[INFO] [stdout]     |             ---------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `transport` calls a custom destructor
[INFO] [stdout]     |             `transport` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 279 |         web_config(&transport).await
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 280 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `transport` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/transport/mod.rs:406:31
[INFO] [stdout]     |
[INFO] [stdout] 406 |     while let Some(message) = commands.recv().await {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                               |               |
[INFO] [stdout]     |                               |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                               |               up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                               up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 407 |         if events.send(ActorEvent::Command(message)).await.is_err() {
[INFO] [stdout]     |            -----------------------------------------------
[INFO] [stdout]     |            |                                         |
[INFO] [stdout]     |            |                                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |            |                                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |            `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |            `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 410 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/transport/mod.rs:238:29
[INFO] [stdout]     |
[INFO] [stdout] 236 |     let mut shutdown_reply = None;
[INFO] [stdout]     |         ------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `shutdown_reply` calls a custom destructor
[INFO] [stdout]     |         `shutdown_reply` will be dropped later as of Edition 2024
[INFO] [stdout] 237 |
[INFO] [stdout] 238 |     while let Some(event) = event_receiver.recv().await {
[INFO] [stdout]     |                    -----    ^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                    |        |                     |
[INFO] [stdout]     |                    |        |                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                    |        |                     up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |        |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |        |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    |        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                    |        up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                    |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    `event` calls a custom destructor
[INFO] [stdout]     |                    `event` will be dropped later as of Edition 2024
[INFO] [stdout] 239 |         match event {
[INFO] [stdout] 240 |             ActorEvent::Command(message) => {
[INFO] [stdout]     |                                 -------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `message` calls a custom destructor
[INFO] [stdout]     |                                 `message` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 261 |                         if let Err(failure) = write_frame(&mut writer, &frame).await {
[INFO] [stdout]     |                                               --------------------------------------
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 270 |                         armed,
[INFO] [stdout]     |                         -----
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `armed` calls a custom destructor
[INFO] [stdout]     |                         `armed` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 286 |                         if let Err(failure) = write_frame(&mut writer, &frame).await {
[INFO] [stdout]     |                                               --------------------------------------
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 302 |                         if let Err(failure) = write_frame(&mut writer, &frame).await {
[INFO] [stdout]     |                                               --------------------------------------
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                               `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 307 |                     ActorMessage::Shutdown { reply } => {
[INFO] [stdout]     |                                              -----
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `reply` calls a custom destructor
[INFO] [stdout]     |                                              `reply` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 327 |                     let Some(pending_call) = pending.pop_front() else {
[INFO] [stdout]     |                                              -------------------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                              `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 358 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `shutdown_reply` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `message` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `message` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `message` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `armed` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `reply` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/sdk_demo_find_text.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/quickstart.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> examples/sdk_demo_find_text.rs:18:40
[INFO] [stdout]     |
[INFO] [stdout]   8 |     let (_rmux, session) = sdk_demo_helpers::demo_session("find").await?;
[INFO] [stdout]     |          -----
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `_rmux` calls a custom destructor
[INFO] [stdout]     |          `_rmux` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  12 |     let pane = session.pane(0, 0);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pane` calls a custom destructor
[INFO] [stdout]     |         `pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  18 |     sdk_demo_helpers::cleanup(session).await
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  19 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/sdk_demo_wait_next.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/lifecycle.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> examples/sdk_demo_wait_next.rs:19:40
[INFO] [stdout]     |
[INFO] [stdout]  10 |     let (_rmux, session) = sdk_demo_helpers::demo_session("waitnext").await?;
[INFO] [stdout]     |          -----
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `_rmux` calls a custom destructor
[INFO] [stdout]     |          `_rmux` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  13 |     let pane = session.pane(0, 0);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pane` calls a custom destructor
[INFO] [stdout]     |         `pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  19 |     sdk_demo_helpers::cleanup(session).await
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  20 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/window.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/lifecycle.rs:566:32
[INFO] [stdout]     |
[INFO] [stdout] 563 |     let mut stream = UnixStream::connect(socket_path).await?;
[INFO] [stdout]     |         ----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `stream` calls a custom destructor
[INFO] [stdout]     |         `stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 566 |     read_response(&mut stream).await
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 567 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/lifecycle.rs:146:22
[INFO] [stdout]     |
[INFO] [stdout]  31 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout]  32 |     let harness = Harness::start("pane-lifecycle").await?;
[INFO] [stdout]  33 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout]  34 |     let alpha = session_name("sdkpanelife");
[INFO] [stdout]  35 |     let session = EnsureSession::named(alpha.clone())
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  39 |     let pane = session.pane(0, 0);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pane` calls a custom destructor
[INFO] [stdout]     |         `pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 146 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 147 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/lifecycle.rs:174:22
[INFO] [stdout]     |
[INFO] [stdout] 151 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] 152 |     let harness = Harness::start("pane-keep-alive").await?;
[INFO] [stdout] 153 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] 154 |     let session = EnsureSession::named(session_name("sdkpanekeep"))
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 158 |     let pane = session.pane(0, 0);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pane` calls a custom destructor
[INFO] [stdout]     |         `pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 174 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 175 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/lifecycle.rs:204:22
[INFO] [stdout]     |
[INFO] [stdout] 179 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] 180 |     let harness = Harness::start("pane-spawn-argv-shell").await?;
[INFO] [stdout] 181 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] 182 |     let session = EnsureSession::named(session_name("sdkpaneargvshell"))
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 186 |     let pane = session.pane(0, 0);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pane` calls a custom destructor
[INFO] [stdout]     |         `pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 204 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 205 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/lifecycle.rs:234:22
[INFO] [stdout]     |
[INFO] [stdout] 209 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] 210 |     let harness = Harness::start("pane-split-keep").await?;
[INFO] [stdout] 211 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] 212 |     let session = EnsureSession::named(session_name("sdkpanesplitkeep"))
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 216 |     let root = session.pane(0, 0);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `root` calls a custom destructor
[INFO] [stdout]     |         `root` will be dropped later as of Edition 2024
[INFO] [stdout] 217 |
[INFO] [stdout] 218 |     let child = root
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `child` calls a custom destructor
[INFO] [stdout]     |         `child` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 234 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 235 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `root` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `child` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/lifecycle.rs:266:22
[INFO] [stdout]     |
[INFO] [stdout] 239 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] 240 |     let harness = Harness::start("owned-cleanup").await?;
[INFO] [stdout] 241 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] 242 |     let name = session_name("sdkownclean");
[INFO] [stdout] 243 |     let _keeper = EnsureSession::named(session_name("sdkpanekeep"))
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_keeper` calls a custom destructor
[INFO] [stdout]     |         `_keeper` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 247 |     let mut owned = rmux
[INFO] [stdout]     |         ---------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `owned` calls a custom destructor
[INFO] [stdout]     |         `owned` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 266 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 267 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_keeper` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `owned` invokes this custom destructor
[INFO] [stdout]    --> src/handles/owned_session.rs:483:1
[INFO] [stdout]     |
[INFO] [stdout] 483 | impl Drop for OwnedSession {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/lifecycle.rs:289:22
[INFO] [stdout]     |
[INFO] [stdout] 271 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] 272 |     let harness = Harness::start("owned-preserve").await?;
[INFO] [stdout] 273 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] 274 |     let name = session_name("sdkownpres");
[INFO] [stdout] 275 |     let _keeper = EnsureSession::named(session_name("sdkpanepres"))
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_keeper` calls a custom destructor
[INFO] [stdout]     |         `_keeper` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 289 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 290 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_keeper` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/lifecycle.rs:317:22
[INFO] [stdout]     |
[INFO] [stdout] 294 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] 295 |     let harness = Harness::start("owned-short-lease").await?;
[INFO] [stdout] 296 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 317 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 318 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> tests/lifecycle.rs:358:22
[INFO] [stdout]      |
[INFO] [stdout]  322 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]      |         -----
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `_lock` calls a custom destructor
[INFO] [stdout]      |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout]  323 |     let harness = Harness::start("owned-lease-renew").await?;
[INFO] [stdout]  324 |     let rmux = harness.rmux();
[INFO] [stdout]      |         ----
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `rmux` calls a custom destructor
[INFO] [stdout]      |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout]  325 |     let name = session_name("sdkownlease");
[INFO] [stdout]  326 |     let _keeper = EnsureSession::named(session_name("sdkleasekeep"))
[INFO] [stdout]      |         -------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `_keeper` calls a custom destructor
[INFO] [stdout]      |         `_keeper` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  337 |     let lease_rx = owned
[INFO] [stdout]      |         --------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `lease_rx` calls a custom destructor
[INFO] [stdout]      |         `lease_rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  349 |     let session = owned.preserve().await?.detach_owned().await?;
[INFO] [stdout]      |         -------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `session` calls a custom destructor
[INFO] [stdout]      |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  358 |     harness.finish().await
[INFO] [stdout]      |                      ^^^^^
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  359 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]     --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]      |
[INFO] [stdout]   50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]     --> src/transport/mod.rs:184:1
[INFO] [stdout]      |
[INFO] [stdout]  184 | impl Drop for DropGuard {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_keeper` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `lease_rx` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> tests/lifecycle.rs:389:22
[INFO] [stdout]      |
[INFO] [stdout]  363 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]      |         -----
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `_lock` calls a custom destructor
[INFO] [stdout]      |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout]  364 |     let harness = Harness::start("owned-lease-renew-cleanup").await?;
[INFO] [stdout]  365 |     let rmux = harness.rmux();
[INFO] [stdout]      |         ----
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `rmux` calls a custom destructor
[INFO] [stdout]      |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout]  366 |     let name = session_name("sdkownleasecleanup");
[INFO] [stdout]  367 |     let _keeper = EnsureSession::named(session_name("sdkleasekeepcleanup"))
[INFO] [stdout]      |         -------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `_keeper` calls a custom destructor
[INFO] [stdout]      |         `_keeper` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  371 |     let mut owned = rmux
[INFO] [stdout]      |         ---------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `owned` calls a custom destructor
[INFO] [stdout]      |         `owned` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  377 |     let mut lease_rx = owned
[INFO] [stdout]      |         ------------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `lease_rx` calls a custom destructor
[INFO] [stdout]      |         `lease_rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  389 |     harness.finish().await
[INFO] [stdout]      |                      ^^^^^
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  390 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]     --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]      |
[INFO] [stdout]   50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]     --> src/transport/mod.rs:184:1
[INFO] [stdout]      |
[INFO] [stdout]  184 | impl Drop for DropGuard {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_keeper` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `owned` invokes this custom destructor
[INFO] [stdout]     --> src/handles/owned_session.rs:483:1
[INFO] [stdout]      |
[INFO] [stdout]  483 | impl Drop for OwnedSession {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `lease_rx` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/lifecycle.rs:422:22
[INFO] [stdout]     |
[INFO] [stdout] 394 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] 395 |     let harness = Harness::start("owned-signal-handler").await?;
[INFO] [stdout] 396 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] 397 |     let name = session_name("sdkownsignal");
[INFO] [stdout] 398 |     let _keeper = EnsureSession::named(session_name("sdksignalkeep"))
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_keeper` calls a custom destructor
[INFO] [stdout]     |         `_keeper` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 |     let mut owned = rmux
[INFO] [stdout]     |         ---------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `owned` calls a custom destructor
[INFO] [stdout]     |         `owned` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 422 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 423 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_keeper` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `owned` invokes this custom destructor
[INFO] [stdout]    --> src/handles/owned_session.rs:483:1
[INFO] [stdout]     |
[INFO] [stdout] 483 | impl Drop for OwnedSession {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/window.rs:646:32
[INFO] [stdout]     |
[INFO] [stdout] 643 |     let mut stream = UnixStream::connect(socket_path).await?;
[INFO] [stdout]     |         ----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `stream` calls a custom destructor
[INFO] [stdout]     |         `stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 646 |     read_response(&mut stream).await
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 647 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/info.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/window.rs:57:22
[INFO] [stdout]     |
[INFO] [stdout]  33 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout]  34 |     let harness = Harness::start("window-new-default").await?;
[INFO] [stdout]  35 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout]  36 |     let alpha = session_name("sdkwinnewdefault");
[INFO] [stdout]  37 |     let session = EnsureSession::named(alpha.clone())
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  42 |     let window = session.new_window().await?;
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `window` calls a custom destructor
[INFO] [stdout]     |         `window` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  57 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  58 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `window` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/window.rs:106:22
[INFO] [stdout]     |
[INFO] [stdout]  62 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout]  63 |     let harness = Harness::start("window-new-options").await?;
[INFO] [stdout]  64 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout]  65 |     let alpha = session_name("sdkwinnewopts");
[INFO] [stdout]  66 |     let session = EnsureSession::named(alpha.clone())
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  71 |     let logs = session
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `logs` calls a custom destructor
[INFO] [stdout]     |         `logs` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  87 |     let inserted = session
[INFO] [stdout]     |         --------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `inserted` calls a custom destructor
[INFO] [stdout]     |         `inserted` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 106 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 107 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `logs` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `inserted` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/window.rs:182:22
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] 112 |     let harness = Harness::start("window-new-command").await?;
[INFO] [stdout] 113 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] 114 |     let alpha = session_name("sdkwinnewcmd");
[INFO] [stdout] 115 |     let session = EnsureSession::named(alpha.clone())
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 130 |     let shell_window = session
[INFO] [stdout]     |         ------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `shell_window` calls a custom destructor
[INFO] [stdout]     |         `shell_window` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 141 |     let shell_pane = session.pane(shell_window.target().window_index, 0);
[INFO] [stdout]     |         ----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `shell_pane` calls a custom destructor
[INFO] [stdout]     |         `shell_pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 149 |     let spawn_window = session
[INFO] [stdout]     |         ------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `spawn_window` calls a custom destructor
[INFO] [stdout]     |         `spawn_window` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 172 |     let direct_window = session
[INFO] [stdout]     |         -------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `direct_window` calls a custom destructor
[INFO] [stdout]     |         `direct_window` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 182 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 183 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `shell_window` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `shell_pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `spawn_window` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `direct_window` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/window.rs:213:22
[INFO] [stdout]     |
[INFO] [stdout] 187 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] 188 |     let harness = Harness::start("window-new-empty").await?;
[INFO] [stdout] 189 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] 190 |     let alpha = session_name("sdkwinnewempty");
[INFO] [stdout] 191 |     let session = EnsureSession::named(alpha.clone())
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 213 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 214 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/window.rs:305:22
[INFO] [stdout]     |
[INFO] [stdout] 218 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] 219 |     let harness = Harness::start("window-basic").await?;
[INFO] [stdout] 220 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] 221 |     let alpha = session_name("sdkwinalpha");
[INFO] [stdout] 222 |     let session = EnsureSession::named(alpha.clone())
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 237 |     let split_pane = session.pane(1, 0).split(SplitDirection::Down).await?;
[INFO] [stdout]     |         ----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `split_pane` calls a custom destructor
[INFO] [stdout]     |         `split_pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 305 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 306 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `split_pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/window.rs:357:22
[INFO] [stdout]     |
[INFO] [stdout] 310 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] 311 |     let harness = Harness::start("window-grouped-close").await?;
[INFO] [stdout] 312 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 316 |     let grouped_session = EnsureSession::named(grouped_a.clone())
[INFO] [stdout]     |         ---------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `grouped_session` calls a custom destructor
[INFO] [stdout]     |         `grouped_session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 357 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 358 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `grouped_session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/window.rs:448:22
[INFO] [stdout]     |
[INFO] [stdout] 362 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] 363 |     let harness = Harness::start("window-linked-close").await?;
[INFO] [stdout] 364 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 369 |     let linked_session = EnsureSession::named(linked_a.clone())
[INFO] [stdout]     |         --------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `linked_session` calls a custom destructor
[INFO] [stdout]     |         `linked_session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 448 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 449 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `linked_session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/window.rs:518:22
[INFO] [stdout]     |
[INFO] [stdout] 453 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] 454 |     let harness = Harness::start("window-linked-split").await?;
[INFO] [stdout] 455 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 482 |     let linked_target = rmux.window(WindowRef::new(linked_b.clone(), 1)).await?;
[INFO] [stdout]     |         -------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `linked_target` calls a custom destructor
[INFO] [stdout]     |         `linked_target` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 486 |     let split_pane = rmux
[INFO] [stdout]     |         ----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `split_pane` calls a custom destructor
[INFO] [stdout]     |         `split_pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 518 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 519 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `linked_target` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `split_pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/pane_queries.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/pane_input.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/pane_queries.rs:530:32
[INFO] [stdout]     |
[INFO] [stdout] 527 |     let mut stream = UnixStream::connect(socket_path).await?;
[INFO] [stdout]     |         ----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `stream` calls a custom destructor
[INFO] [stdout]     |         `stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 530 |     read_response(&mut stream).await
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 531 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/pane_queries.rs:105:22
[INFO] [stdout]     |
[INFO] [stdout]  30 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout]  31 |     let harness = Harness::start("pane-basic").await?;
[INFO] [stdout]  32 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout]  33 |     let alpha = session_name("sdkpanealpha");
[INFO] [stdout]  34 |     let session = EnsureSession::named(alpha.clone())
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  39 |     let pane = session.pane(0, 0);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pane` calls a custom destructor
[INFO] [stdout]     |         `pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  70 |     let stale = session.pane(99, 0);
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `stale` calls a custom destructor
[INFO] [stdout]     |         `stale` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  81 |     let stale_pane_in_window = session.pane(0, 99);
[INFO] [stdout]     |         --------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `stale_pane_in_window` calls a custom destructor
[INFO] [stdout]     |         `stale_pane_in_window` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  92 |     let unknown_session_pane = rmux
[INFO] [stdout]     |         --------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `unknown_session_pane` calls a custom destructor
[INFO] [stdout]     |         `unknown_session_pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 105 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 106 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stale` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stale_pane_in_window` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `unknown_session_pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/pane_queries.rs:208:22
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] 111 |     let harness = Harness::start("pane-revisions").await?;
[INFO] [stdout] 112 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] 113 |     let alpha = session_name("sdkpanerev");
[INFO] [stdout] 114 |     let session = EnsureSession::named(alpha.clone())
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 119 |     let pane = session.pane(0, 0);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pane` calls a custom destructor
[INFO] [stdout]     |         `pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 208 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 209 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/pane_queries.rs:257:22
[INFO] [stdout]     |
[INFO] [stdout] 213 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] 214 |     let harness = Harness::start("pane-linked").await?;
[INFO] [stdout] 215 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 219 |     let owner_session = EnsureSession::named(owner.clone())
[INFO] [stdout]     |         -------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `owner_session` calls a custom destructor
[INFO] [stdout]     |         `owner_session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 229 |     let owner_pane = owner_session.pane(0, 0);
[INFO] [stdout]     |         ----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `owner_pane` calls a custom destructor
[INFO] [stdout]     |         `owner_pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 232 |     let viewer_pane = rmux.pane(PaneRef::new(viewer.clone(), 1, 0)).await?;
[INFO] [stdout]     |         -----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `viewer_pane` calls a custom destructor
[INFO] [stdout]     |         `viewer_pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 257 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 258 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `owner_session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `owner_pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `viewer_pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/pane_queries.rs:303:22
[INFO] [stdout]     |
[INFO] [stdout] 262 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] 263 |     let harness = Harness::start("pane-grouped").await?;
[INFO] [stdout] 264 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 268 |     let primary_session = EnsureSession::named(primary.clone())
[INFO] [stdout]     |         ---------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `primary_session` calls a custom destructor
[INFO] [stdout]     |         `primary_session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 279 |     let primary_pane = primary_session.pane(1, 0);
[INFO] [stdout]     |         ------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `primary_pane` calls a custom destructor
[INFO] [stdout]     |         `primary_pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 282 |     let mirror_pane = rmux.pane(PaneRef::new(mirror.clone(), 1, 0)).await?;
[INFO] [stdout]     |         -----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `mirror_pane` calls a custom destructor
[INFO] [stdout]     |         `mirror_pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 303 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 304 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `primary_session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `primary_pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mirror_pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/pane_input.rs:576:32
[INFO] [stdout]     |
[INFO] [stdout] 573 |     let mut stream = UnixStream::connect(socket_path).await?;
[INFO] [stdout]     |         ----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `stream` calls a custom destructor
[INFO] [stdout]     |         `stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 576 |     read_response(&mut stream).await
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 577 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/sdk_demo_respawn_pane.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/pane_input.rs:95:22
[INFO] [stdout]     |
[INFO] [stdout]  32 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout]  33 |     let harness = Harness::start("pane-input-literal").await?;
[INFO] [stdout]  34 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout]  35 |     let alpha = session_name("sdkpaneinputlit");
[INFO] [stdout]  36 |     let session = EnsureSession::named(alpha)
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  40 |     let pane = session.pane(0, 0);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pane` calls a custom destructor
[INFO] [stdout]     |         `pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  95 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  96 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/pane_input.rs:152:22
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] 101 |     let harness = Harness::start("pane-input-resize").await?;
[INFO] [stdout] 102 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] 103 |     let alpha = session_name("sdkpaneinputres");
[INFO] [stdout] 104 |     let session = EnsureSession::named(alpha.clone())
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 109 |     let pane = session.pane(0, 0);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pane` calls a custom destructor
[INFO] [stdout]     |         `pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 152 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 153 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/pane_input.rs:206:22
[INFO] [stdout]     |
[INFO] [stdout] 157 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] 158 |     let harness = Harness::start("pane-input-stale").await?;
[INFO] [stdout] 159 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] 160 |     let alpha = session_name("sdkpaneinputerr");
[INFO] [stdout] 161 |     let session = EnsureSession::named(alpha.clone())
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 167 |     let stale = session.pane(0, 0);
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `stale` calls a custom destructor
[INFO] [stdout]     |         `stale` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 188 |     let missing_pane = session.pane(99, 9);
[INFO] [stdout]     |         ------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `missing_pane` calls a custom destructor
[INFO] [stdout]     |         `missing_pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 198 |     let missing_session = rmux
[INFO] [stdout]     |         ---------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `missing_session` calls a custom destructor
[INFO] [stdout]     |         `missing_session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 206 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 207 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stale` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `missing_pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `missing_session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/pane_input.rs:287:22
[INFO] [stdout]     |
[INFO] [stdout] 211 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] 212 |     let harness = Harness::start("pane-input-by-id").await?;
[INFO] [stdout] 213 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] 214 |     let alpha = session_name("sdkpaneinputid");
[INFO] [stdout] 215 |     let session = EnsureSession::named(alpha.clone())
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 234 |     let middle = session.pane_by_id(middle_id).await?;
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `middle` calls a custom destructor
[INFO] [stdout]     |         `middle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 287 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 288 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `middle` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/pane_input.rs:313:22
[INFO] [stdout]     |
[INFO] [stdout] 292 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] 293 |     let harness = Harness::start("pane-input-broadcast").await?;
[INFO] [stdout] 294 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] 295 |     let alpha = session_name("sdkpaneinputbr");
[INFO] [stdout] 296 |     let session = EnsureSession::named(alpha)
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 301 |     let panes = vec![session.pane(0, 0), right];
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `panes` calls a custom destructor
[INFO] [stdout]     |         `panes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 313 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 314 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `panes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/pane_input.rs:357:22
[INFO] [stdout]     |
[INFO] [stdout] 318 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] 319 |     let harness = Harness::start("pane-input-broadcast-partial").await?;
[INFO] [stdout] 320 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] 321 |     let alpha = session_name("sdkpaneinputbp");
[INFO] [stdout] 322 |     let session = EnsureSession::named(alpha.clone())
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 342 |     let panes = vec![stale, live];
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `panes` calls a custom destructor
[INFO] [stdout]     |         `panes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 357 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 358 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `panes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/pane_input.rs:377:22
[INFO] [stdout]     |
[INFO] [stdout] 362 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] 363 |     let harness = Harness::start("pane-input-render-stream").await?;
[INFO] [stdout] 364 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] 365 |     let session = EnsureSession::named(session_name("sdkpaneinputrs"))
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 369 |     let pane = session.pane(0, 0);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pane` calls a custom destructor
[INFO] [stdout]     |         `pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 377 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 378 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> examples/sdk_demo_respawn_pane.rs:25:40
[INFO] [stdout]     |
[INFO] [stdout]  11 |     let (_rmux, session) = sdk_demo_helpers::demo_session("respawn").await?;
[INFO] [stdout]     |          -----
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `_rmux` calls a custom destructor
[INFO] [stdout]     |          `_rmux` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  15 |     let pane = session.pane(0, 0);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pane` calls a custom destructor
[INFO] [stdout]     |         `pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  25 |     sdk_demo_helpers::cleanup(session).await
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  26 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/sdk_demo_reconnect.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/collect_until_exit.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/extract.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/extract.rs:500:28
[INFO] [stdout]     |
[INFO] [stdout] 496 |     let rmux = RmuxBuilder::new()
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 500 |     Ok(rmux.pane(target()).await?)
[INFO] [stdout]     |                            ^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 501 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/sdk_demo_close_window.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/pane_set.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> examples/sdk_demo_close_window.rs:25:40
[INFO] [stdout]     |
[INFO] [stdout]  12 |     let (_rmux, session) = sdk_demo_helpers::demo_session("closewin").await?;
[INFO] [stdout]     |          -----
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `_rmux` calls a custom destructor
[INFO] [stdout]     |          `_rmux` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  25 |     sdk_demo_helpers::cleanup(session).await
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  26 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/sdk_demo_wait_exit.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/pane_set.rs:143:32
[INFO] [stdout]     |
[INFO] [stdout] 140 |     let mut stream = UnixStream::connect(socket_path).await?;
[INFO] [stdout]     |         ----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `stream` calls a custom destructor
[INFO] [stdout]     |         `stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 143 |     read_response(&mut stream).await
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 144 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/pane_set.rs:101:22
[INFO] [stdout]     |
[INFO] [stdout]  26 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout]  27 |     let harness = Harness::start("pane-set-main").await?;
[INFO] [stdout]  28 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout]  29 |     let session = EnsureSession::named(session_name("sdkpanesetmain"))
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  33 |     let root = session.pane(0, 0);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `root` calls a custom destructor
[INFO] [stdout]     |         `root` will be dropped later as of Edition 2024
[INFO] [stdout]  34 |     let right = root.split(rmux_sdk::SplitDirection::Right).await?;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `right` calls a custom destructor
[INFO] [stdout]     |         `right` will be dropped later as of Edition 2024
[INFO] [stdout]  35 |     let panes = PaneSet::new(vec![root.clone(), right.clone()]);
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `panes` calls a custom destructor
[INFO] [stdout]     |         `panes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 101 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 102 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `root` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `right` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `panes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/pane_set.rs:132:22
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] 107 |     let harness = Harness::start("pane-set-close").await?;
[INFO] [stdout] 108 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] 109 |     let session = EnsureSession::named(session_name("sdkpanesetclose"))
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 113 |     let root = session.pane(0, 0);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `root` calls a custom destructor
[INFO] [stdout]     |         `root` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 132 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 133 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `root` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/armed_wait.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/armed_wait.rs:473:28
[INFO] [stdout]     |
[INFO] [stdout] 469 |     let rmux = RmuxBuilder::new()
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 473 |     Ok(rmux.pane(target()).await?)
[INFO] [stdout]     |                            ^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 474 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/armed_wait.rs:719:32
[INFO] [stdout]     |
[INFO] [stdout] 715 |     let mut stream = UnixStream::connect(socket_path).await?;
[INFO] [stdout]     |         ----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `stream` calls a custom destructor
[INFO] [stdout]     |         `stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 719 |     read_response(&mut stream).await
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 720 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/armed_wait.rs:430:22
[INFO] [stdout]     |
[INFO] [stdout] 367 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] 368 |     let harness = Harness::start("armed-live").await?;
[INFO] [stdout] 369 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] 370 |     let session = EnsureSession::named(unique_session_name("armedlive"))
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 375 |     let pane = session.pane(0, 0);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pane` calls a custom destructor
[INFO] [stdout]     |         `pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 430 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 431 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/discover_panes.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/sdk_demo_snapshot.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/cmd.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> examples/sdk_demo_snapshot.rs:17:40
[INFO] [stdout]     |
[INFO] [stdout]   8 |     let (_rmux, session) = sdk_demo_helpers::demo_session("snap").await?;
[INFO] [stdout]     |          -----
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `_rmux` calls a custom destructor
[INFO] [stdout]     |          `_rmux` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  12 |     let pane = session.pane(0, 0);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pane` calls a custom destructor
[INFO] [stdout]     |         `pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  17 |     sdk_demo_helpers::cleanup(session).await
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  18 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed tests/cmd.rs (3 fixes)
[INFO] [stderr]    Migrating examples/sdk_demo_create_session.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/input.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/identity.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/sdk_demo_send_keys.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> examples/sdk_demo_send_keys.rs:19:40
[INFO] [stdout]     |
[INFO] [stdout]   8 |     let (_rmux, session) = sdk_demo_helpers::demo_session("keys").await?;
[INFO] [stdout]     |          -----
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `_rmux` calls a custom destructor
[INFO] [stdout]     |          `_rmux` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  12 |     let pane = session.pane(0, 0);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pane` calls a custom destructor
[INFO] [stdout]     |         `pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  19 |     sdk_demo_helpers::cleanup(session).await
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  20 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/sdk_demo_kill_session.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/terminal_playwright.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/session.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/session.rs (3 fixes)
[INFO] [stderr]    Migrating tests/discovery.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/session.rs:412:32
[INFO] [stdout]     |
[INFO] [stdout] 409 |     let mut stream = UnixStream::connect(socket_path).await?;
[INFO] [stdout]     |         ----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `stream` calls a custom destructor
[INFO] [stdout]     |         `stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 412 |     read_response(&mut stream).await
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 413 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/session.rs:76:22
[INFO] [stdout]     |
[INFO] [stdout]  37 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout]  38 |     let harness = Harness::start("create-only").await?;
[INFO] [stdout]  39 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  52 |     let session = ensure.ensure(&rmux).await?;
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  76 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  77 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/session.rs:126:22
[INFO] [stdout]     |
[INFO] [stdout]  81 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout]  82 |     let harness = Harness::start("ensure-argv-shell").await?;
[INFO] [stdout]  83 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  93 |     let legacy = EnsureSession::named(legacy_name.clone())
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `legacy` calls a custom destructor
[INFO] [stdout]     |         `legacy` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 104 |     let direct = EnsureSession::named(direct_name.clone())
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `direct` calls a custom destructor
[INFO] [stdout]     |         `direct` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 115 |     let shell = EnsureSession::named(shell_name.clone())
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `shell` calls a custom destructor
[INFO] [stdout]     |         `shell` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 126 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 127 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `legacy` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `direct` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `shell` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/session.rs:187:20
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 136 |     let created = EnsureSession::named(name.clone())
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `created` calls a custom destructor
[INFO] [stdout]     |         `created` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 157 |     let reused = EnsureSession::named(name.clone())
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `reused` calls a custom destructor
[INFO] [stdout]     |         `reused` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 169 |     let fresh = EnsureSession::named(fresh_name.clone())
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `fresh` calls a custom destructor
[INFO] [stdout]     |         `fresh` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 187 |     harness.wait().await
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 188 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `created` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `reused` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `fresh` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/session.rs:232:20
[INFO] [stdout]     |
[INFO] [stdout] 192 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 200 |     let reused = EnsureSession::named(name.clone())
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `reused` calls a custom destructor
[INFO] [stdout]     |         `reused` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 232 |     harness.wait().await
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 233 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `reused` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/session.rs:255:22
[INFO] [stdout]     |
[INFO] [stdout] 237 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] 238 |     let harness = Harness::start("invalid-env").await?;
[INFO] [stdout] 239 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 255 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 256 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/session.rs:291:22
[INFO] [stdout]     |
[INFO] [stdout] 260 |     let _live_lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         ----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_live_lock` calls a custom destructor
[INFO] [stdout]     |         `_live_lock` will be dropped later as of Edition 2024
[INFO] [stdout] 261 |     let _env_lock = ENV_LOCK.lock().await;
[INFO] [stdout]     |         ---------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_env_lock` calls a custom destructor
[INFO] [stdout]     |         `_env_lock` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 264 |     let _endpoint = EnvGuard::set_os(SDK_ENDPOINT_ENV, wrong_endpoint.as_os_str());
[INFO] [stdout]     |         ---------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_endpoint` calls a custom destructor
[INFO] [stdout]     |         `_endpoint` will be dropped later as of Edition 2024
[INFO] [stdout] 265 |     let _timeout = EnvGuard::set(SDK_TIMEOUT_MS_ENV, "1");
[INFO] [stdout]     |         --------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_timeout` calls a custom destructor
[INFO] [stdout]     |         `_timeout` will be dropped later as of Edition 2024
[INFO] [stdout] 266 |     let rmux = RmuxBuilder::new()
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 282 |     let session = rmux.ensure_session(ensure).await?;
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 291 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 292 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_live_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_env_lock` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_endpoint` invokes this custom destructor
[INFO] [stdout]    --> tests/session.rs:667:1
[INFO] [stdout]     |
[INFO] [stdout] 667 | impl Drop for EnvGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_timeout` invokes this custom destructor
[INFO] [stdout]    --> tests/session.rs:667:1
[INFO] [stdout]     |
[INFO] [stdout] 667 | impl Drop for EnvGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed tests/discovery.rs (14 fixes)
[INFO] [stderr]    Migrating examples/sdk_demo_quickstart.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/events.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> examples/sdk_demo_quickstart.rs:18:40
[INFO] [stdout]     |
[INFO] [stdout]   8 |     let (_rmux, session) = sdk_demo_helpers::demo_session("demo").await?;
[INFO] [stdout]     |          -----
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `_rmux` calls a custom destructor
[INFO] [stdout]     |          `_rmux` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  12 |     let pane = session.pane(0, 0);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pane` calls a custom destructor
[INFO] [stdout]     |         `pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  18 |     sdk_demo_helpers::cleanup(session).await
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  19 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/sdk_demo_output_stream.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/assert_visible_text.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/error_display.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/smoke_v1_full_windows.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/quiet_state.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/value_objects.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/terminal_automation.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/layout_builder.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/terminal_automation.rs:244:32
[INFO] [stdout]     |
[INFO] [stdout] 241 |     let mut stream = UnixStream::connect(socket_path).await?;
[INFO] [stdout]     |         ----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `stream` calls a custom destructor
[INFO] [stdout]     |         `stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 244 |     read_response(&mut stream).await
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 245 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/terminal_automation.rs:233:22
[INFO] [stdout]     |
[INFO] [stdout]  26 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout]  27 |     let harness = Harness::start("terminal-automation").await?;
[INFO] [stdout]  28 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout]  29 |     let session = EnsureSession::named(session_name("sdkp3automation"))
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  33 |     let pane = session.pane(0, 0);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pane` calls a custom destructor
[INFO] [stdout]     |         `pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  41 |     let terminal = rmux.find_panes().title("rmux:automation").one().await?;
[INFO] [stdout]     |         --------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `terminal` calls a custom destructor
[INFO] [stdout]     |         `terminal` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 160 |     let missing_sessions = rmux
[INFO] [stdout]     |         ----------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `missing_sessions` calls a custom destructor
[INFO] [stdout]     |         `missing_sessions` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 167 |     let panes = rmux
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `panes` calls a custom destructor
[INFO] [stdout]     |         `panes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 233 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 234 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `terminal` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `missing_sessions` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `panes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/trace_terminal.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/layout_builder.rs:216:32
[INFO] [stdout]     |
[INFO] [stdout] 213 |     let mut stream = UnixStream::connect(socket_path).await?;
[INFO] [stdout]     |         ----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `stream` calls a custom destructor
[INFO] [stdout]     |         `stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 216 |     read_response(&mut stream).await
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 217 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/layout_builder.rs:105:22
[INFO] [stdout]     |
[INFO] [stdout]  27 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout]  28 |     let harness = Harness::start("layout-builder-main").await?;
[INFO] [stdout]  29 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout]  30 |     let session = EnsureSession::named(session_name("sdklayoutmain"))
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  42 |     let panes = session
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `panes` calls a custom destructor
[INFO] [stdout]     |         `panes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 105 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 106 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `panes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/layout_builder.rs:168:22
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] 111 |     let harness = Harness::start("layout-builder-invalid").await?;
[INFO] [stdout] 112 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] 113 |     let session = EnsureSession::named(session_name("sdklayoutinvalid"))
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 149 |     let replaced = session
[INFO] [stdout]     |         --------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `replaced` calls a custom destructor
[INFO] [stdout]     |         `replaced` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 168 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 169 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `replaced` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/sdk_demo_list_sessions.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/smoke_v1.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/smoke_v1.rs (3 fixes)
[INFO] [stderr]    Migrating tests/contract.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/detach_safety_net.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/sdk_demo_split_window.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/nested_detection.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> examples/sdk_demo_split_window.rs:19:40
[INFO] [stdout]     |
[INFO] [stdout]   8 |     let (_rmux, session) = sdk_demo_helpers::demo_session("split").await?;
[INFO] [stdout]     |          -----
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `_rmux` calls a custom destructor
[INFO] [stdout]     |          `_rmux` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  12 |     let pane = session.pane(0, 0);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pane` calls a custom destructor
[INFO] [stdout]     |         `pane` will be dropped later as of Edition 2024
[INFO] [stdout]  13 |     let new_pane = pane.split(SplitDirection::Right).await?;
[INFO] [stdout]     |         --------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `new_pane` calls a custom destructor
[INFO] [stdout]     |         `new_pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  19 |     sdk_demo_helpers::cleanup(session).await
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  20 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `new_pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/sdk_demo_line_stream.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/wait.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/wait.rs:535:28
[INFO] [stdout]     |
[INFO] [stdout] 531 |     let rmux = RmuxBuilder::new()
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 535 |     Ok(rmux.pane(target()).await?)
[INFO] [stdout]     |                            ^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 536 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/pane_events_stream.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/wait.rs:828:32
[INFO] [stdout]     |
[INFO] [stdout] 824 |     let mut stream = UnixStream::connect(socket_path).await?;
[INFO] [stdout]     |         ----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `stream` calls a custom destructor
[INFO] [stdout]     |         `stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 828 |     read_response(&mut stream).await
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 829 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/wait.rs:341:22
[INFO] [stdout]     |
[INFO] [stdout] 322 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] 323 |     let harness = Harness::start("text-live").await?;
[INFO] [stdout] 324 |     let rmux = harness.rmux();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rmux` calls a custom destructor
[INFO] [stdout]     |         `rmux` will be dropped later as of Edition 2024
[INFO] [stdout] 325 |     let session = EnsureSession::named(session_name())
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 329 |     let pane = session.pane(0, 0);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pane` calls a custom destructor
[INFO] [stdout]     |         `pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 341 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 342 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/sdk_demo_resize_pane.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/sdk_demo_run_detached.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/capture_region.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/smoke_v1_windows.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/smoke_v1_full.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/smoke_v1_full.rs:59:22
[INFO] [stdout]     |
[INFO] [stdout]  35 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  38 |     let session = rmux
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  47 |     let pane = session.pane(0, 0).split(SplitDirection::Down).await?;
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pane` calls a custom destructor
[INFO] [stdout]     |         `pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  59 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  60 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed tests/smoke_v1_full.rs (3 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/smoke_v1_full.rs:108:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  67 |     let _keeper = keepalive_session(rmux, "sdkfullcollectkeep").await?;
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_keeper` calls a custom destructor
[INFO] [stdout]     |         `_keeper` will be dropped later as of Edition 2024
[INFO] [stdout]  68 |     let session = rmux
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  75 |     let pane = session.pane(0, 0);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pane` calls a custom destructor
[INFO] [stdout]     |         `pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 108 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 109 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_keeper` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/wait_for_text.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/smoke_v1_full.rs:157:22
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 116 |     let session = rmux
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 123 |     let pane = session.pane(0, 0);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pane` calls a custom destructor
[INFO] [stdout]     |         `pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 157 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 158 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/smoke_v1_full.rs:214:22
[INFO] [stdout]     |
[INFO] [stdout] 162 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 165 |     let session = rmux
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 187 |     let pane = session.pane(0, 0);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pane` calls a custom destructor
[INFO] [stdout]     |         `pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 214 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 215 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/smoke_v1_full.rs:259:22
[INFO] [stdout]     |
[INFO] [stdout] 219 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 222 |     let session = rmux
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 229 |     let pane = session.pane(0, 0);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pane` calls a custom destructor
[INFO] [stdout]     |         `pane` will be dropped later as of Edition 2024
[INFO] [stdout] 230 |     let mut stream = pane.output_stream_starting_at(PaneOutputStart::Now).await?;
[INFO] [stdout]     |         ----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `stream` calls a custom destructor
[INFO] [stdout]     |         `stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 259 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 260 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/smoke_v1_full.rs:312:22
[INFO] [stdout]     |
[INFO] [stdout] 264 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 270 |     let _keeper = keepalive_session(rmux, "sdkfullpykeep").await?;
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_keeper` calls a custom destructor
[INFO] [stdout]     |         `_keeper` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 285 |     let session = rmux
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 297 |     let pane = session.pane(0, 0);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pane` calls a custom destructor
[INFO] [stdout]     |         `pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 312 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 313 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_keeper` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/smoke_v1_full.rs:352:22
[INFO] [stdout]     |
[INFO] [stdout] 317 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 321 |     let session = rmux
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 337 |     let pane = session.pane(0, 0);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pane` calls a custom destructor
[INFO] [stdout]     |         `pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 352 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 353 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/smoke_v1_full.rs:427:22
[INFO] [stdout]     |
[INFO] [stdout] 402 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 427 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 428 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/smoke_v1_full.rs:465:22
[INFO] [stdout]     |
[INFO] [stdout] 432 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 465 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 466 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/smoke_v1_full.rs:513:22
[INFO] [stdout]     |
[INFO] [stdout] 470 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 513 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 514 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/smoke_v1_full.rs:541:22
[INFO] [stdout]     |
[INFO] [stdout] 518 |     let _lock = LIVE_DAEMON_LOCK.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `_lock` calls a custom destructor
[INFO] [stdout]     |         `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 522 |     let session = rmux
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `session` calls a custom destructor
[INFO] [stdout]     |         `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 541 |     harness.finish().await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 542 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> tests/common/unix_smoke.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Drop for LiveDaemonGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/streams.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/sdk_demo_split_horizontal.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/snapshot.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> examples/sdk_demo_split_horizontal.rs:19:40
[INFO] [stdout]     |
[INFO] [stdout]   8 |     let (_rmux, session) = sdk_demo_helpers::demo_session("splith").await?;
[INFO] [stdout]     |          -----
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `_rmux` calls a custom destructor
[INFO] [stdout]     |          `_rmux` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  12 |     let pane = session.pane(0, 0);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pane` calls a custom destructor
[INFO] [stdout]     |         `pane` will be dropped later as of Edition 2024
[INFO] [stdout]  13 |     let new_pane = pane.split(SplitDirection::Down).await?;
[INFO] [stdout]     |         --------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `new_pane` calls a custom destructor
[INFO] [stdout]     |         `new_pane` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  19 |     sdk_demo_helpers::cleanup(session).await
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  20 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_rmux` invokes this custom destructor
[INFO] [stdout]    --> src/transport/mod.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Drop for DropGuard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_rmux` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `new_pane` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 43.21s
[INFO] [stderr] crater-edition-check: rmux-sdk v0.6.1 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking rmux-sdk v0.6.1 (/opt/rustwide/workdir)
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/bootstrap/startup_unix/tests.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 193 |     unsafe { std::env::set_var("RMUX_TMPDIR", &dir) };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:4:11
[INFO] [stdout]     |
[INFO] [stdout]   4 | #![forbid(unsafe_code)]
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/bootstrap/startup_unix/tests.rs:195:5
[INFO] [stdout]     |
[INFO] [stdout] 195 |     unsafe { std::env::set_var("TMUX_TMPDIR", &dir) };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/bootstrap/startup_unix/tests.rs:207:24
[INFO] [stdout]     |
[INFO] [stdout] 207 |         Some(value) => unsafe { std::env::set_var("RMUX_TMPDIR", value) },
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/bootstrap/startup_unix/tests.rs:209:17
[INFO] [stdout]     |
[INFO] [stdout] 209 |         None => unsafe { std::env::remove_var("RMUX_TMPDIR") },
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/bootstrap/startup_unix/tests.rs:213:24
[INFO] [stdout]     |
[INFO] [stdout] 213 |         Some(value) => unsafe { std::env::set_var("TMUX_TMPDIR", value) },
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/bootstrap/startup_unix/tests.rs:215:17
[INFO] [stdout]     |
[INFO] [stdout] 215 |         None => unsafe { std::env::remove_var("TMUX_TMPDIR") },
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rmux-sdk` (lib test) due to 6 previous errors
[INFO] running `Command { std: "docker" "inspect" "f69687394c504a2f68d73fbe510f251fd78b75afbd868d6370558f94be835c27", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f69687394c504a2f68d73fbe510f251fd78b75afbd868d6370558f94be835c27", kill_on_drop: false }`
[INFO] [stdout] f69687394c504a2f68d73fbe510f251fd78b75afbd868d6370558f94be835c27
